import 'package:bloc/bloc.dart';
import 'package:flutter_bloc_todo/model/todo_model.dart';
import 'package:flutter_bloc_todo/repository/todo_repository.dart';
import 'package:meta/meta.dart';

part 'todo_state.dart';

class TodoCubit extends Cubit<TodoState> {
  ToDoRepository toDoRepository;

  TodoCubit(this.toDoRepository) : super(TodoInitial());

  Future<void> getTodo()async{
    emit(TodoLoading());
    List<ToDoModel> todos = await toDoRepository.getToDos();
    if(todos.length>0){
      emit(TodoLoaded(todos));
    }else{
      emit(TodoEmpty());
    }
  }
  Future<void> saveTodo(ToDoModel toDoModel) async {
    toDoRepository.saveToDo(toDoModel);
    List<ToDoModel> todos = await toDoRepository.getToDos();
    emit(TodoLoaded(todos));
  }
}
